1. Field of the Invention
The present invention relates to data stream management systems and methods of data stream management.
2. Background of the Related Art
A Data Stream Management System (DSMS) manages data that is fed on-line via a stream. Traditional databases and Database Management Systems (DBMS) have been used in applications that require persistent data storage and complex querying. Usually, a database consists of a set of objects, with insertions, updates, and deletions occurring less frequently than queries. Queries are executed when posed and the answer reflects the current state of the database. However, the past few years have witnessed an emergence of applications that do not fit this data model and querying paradigm. Instead, much of the information to be queried occurs in the form of a sequence (stream) of data values. Examples of such data streams include sensor data, Internet traffic, financial tickers, on-line auctions, and transaction logs such as Web usage logs and telephone call records. A data stream is a real-time, continuous, ordered (implicitly by arrival time or explicitly by timestamp) sequence of items. It is impossible to control the order in which items arrive, nor is it feasible to locally store a stream in its entirety.
Structured Query Language (SQL) is a database computer language designed for managing data in relational database management systems (DBMS). Continuous Query Language (CQL) has similarities to SQL, but has extended support for real-time features adding data stream S as a new data type based on a series of time-stamped tuples. CQL supports windows on streams based on another new data type called “relation.” A relation R is an unordered group of tuples at any time instant t which is denoted as R(t). The CQL relation differs from a relation of a standard relational database accessed using SQL, because traditional SQL's relation is simply a set (or bag) of tuples with no notion of time, whereas the CQL relation (or simply “relation”) is a time-varying group of tuples (e.g. the current number of vehicles in a given stretch of a particular highway). All stream-to-relation operators in Stanford's CQL are based on the concept of a sliding window over a stream, where the sliding window that, at any point of time, contains a historical snapshot of a finite portion of the stream. Syntactically, sliding window operators are specified in CQL using a window specification language, based on SQL-99. Prior to operation on data streams, a continuous query is registered in a DSMS.